package model

import (
	"gorm.io/gorm"
	"time"
)

type Videos struct {
	Id                    uint64         `gorm:"column:id;type:bigint UNSIGNED;primaryKey;not null;" json:"id"`
	CreatedAt             time.Time      `gorm:"column:created_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdatedAt             time.Time      `gorm:"column:updated_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"`
	DeletedAt             gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
	Name                  string         `gorm:"column:name;type:varchar(255);comment:视频名称;not null;" json:"name"`                                                        // 视频名称
	VideoDescription      string         `gorm:"column:video_description;type:varchar(255);comment:视频描述;not null;" json:"video_description"`                              // 视频描述
	FounderId             uint64         `gorm:"column:founder_id;type:bigint;comment:创建人id;not null;" json:"founder_id"`                                                 // 创建人id
	AuthorId              uint64         `gorm:"column:author_id;type:bigint;comment:作者id;not null;" json:"author_id"`                                                    // 作者id
	ReviewerId            uint64         `gorm:"column:reviewer_id;type:bigint;comment:审核人id;not null;" json:"reviewer_id"`                                               // 审核人id
	Keywords              string         `gorm:"column:keywords;type:varchar(255);comment:关键字;not null;" json:"keywords"`                                                 // 关键字
	FirstProfessional     uint64         `gorm:"column:first_professional;type:bigint UNSIGNED;comment:一级专业范围，1-技能，2-理论;not null;default:1;" json:"first_professional"`   // 一级专业范围，1-技能，2-理论
	SecondaryProfessional uint64         `gorm:"column:secondary_professional;type:bigint UNSIGNED;comment:二级专业范围，1-变电运行，2-变电维修;not null;" json:"secondary_professional"` // 二级专业范围，1-变电运行，2-变电维修
	AuditStatus           uint64         `gorm:"column:audit_status;type:bigint;comment:审核范围，1-审核未通过，2-审核中，3-审核已通过;not null;" json:"audit_status"`                        // 审核范围，1-审核未通过，2-审核中，3-审核已通过
	EnableStatus          uint64         `gorm:"column:enable_status;type:bigint;comment:启用状态，1-未启用。2-启用;not null;" json:"enable_status"`                                 // 启用状态，1-未启用。2-启用
	Look                  uint64         `gorm:"column:look;type:bigint;comment:观看范围，1-内部，2-外部;not null;" json:"look"`                                                    // 观看范围，1-内部，2-外部
	Image                 string         `gorm:"column:image;type:varchar(255);comment:封面图片;not null;" json:"image"`                                                      // 封面图片
	VideoImage            string         `gorm:"column:video_image;type:varchar(255);comment:上传视频;not null;" json:"video_image"`                                          // 上传视频
}
